max_idx is not a pdx, and hence needs to be converted to one in all
cases where it is being passed to pdx_to_page().
Also, just like for max_pdx, the conversion result of max_idx may
point into an address space hole, and hence it must not be used
directly as an argument to pdx_to_page(). Note that this doesn't apply
to the arguments passed to memset(), as the size argument would be
zero in the case of hitting an address space hole.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
pdx_to_page(max_pdx - 1) + 1);
else
{
- init_frametable_chunk(pdx_to_page(sidx *PDX_GROUP_COUNT),
- pdx_to_page(max_idx * PDX_GROUP_COUNT));
- memset(pdx_to_page(max_pdx), -1, (unsigned long)pdx_to_page(max_idx) -
- (unsigned long)(pdx_to_page(max_pdx)));
+ init_frametable_chunk(pdx_to_page(sidx * PDX_GROUP_COUNT),
+ pdx_to_page(max_idx * PDX_GROUP_COUNT - 1) + 1);
+ memset(pdx_to_page(max_pdx), -1,
+ (unsigned long)pdx_to_page(max_idx * PDX_GROUP_COUNT) -
+ (unsigned long)pdx_to_page(max_pdx));
}
}